/*
* ECARX Technology Limited is the owner of the copyright and the trade secret of this software.
* Without permission, no one has the right to obtain, disclose or use this software in any way.
*/

package ecarx.xsf.notificationcenter;

import ecarx.xsf.notificationcenter.notification.ILauncherControllerService;
import ecarx.xsf.notificationcenter.notification.INotificationService;
import ecarx.xsf.notificationcenter.scenecard.ISceneCardService;

/**
 * FileName: BaseServiceConnect.java <br>
 * Description : 服务设置连接类<br>
 * Create Time: 2021/8/19 16:07 <br>
 * Update Time: 2021/8/19 16:07 <br>
 *
 * @since 1.0.0
 */
abstract class BaseServiceAPI {

    /**
     * * 设置通知服务.
     *
     * @param service {@link INotificationService} 通知服务
     * @since 1.0.0
     */
    abstract void setNotificationService(INotificationService service);

    /**
     * * 设置形象消息提示服务.
     *
     * @param service {@link ILauncherControllerService} 形象消息服务
     * @since 1.0.0
     */
    abstract void setMascotCardService(ILauncherControllerService service);

    /**
     * * 智能卡片服务.
     * @since 1.0.0
     * @param service {@link ISceneCardService} 智能卡片服务
     */
    abstract void setSceneCardService(ISceneCardService service);

    /**
     * * 获取通知服务.
     * @since 1.0.0
     * @return {@link INotificationService} 通知服务
     */
    abstract INotificationService getNotificationService();

    /**
     * * 获取形象消息服务.
     * @since 1.0.0
     * @return {@link ILauncherControllerService} 形象消息服务
     */
    abstract ILauncherControllerService getMascotService();

    /**
     * * 获取智能卡片服务.
     * @since 1.0.0
     * @return {@link ISceneCardService} 智能卡片服务
     */
    abstract ISceneCardService getSceneCardService();
}
